﻿namespace MicroCloud.Identity
{
    /// <summary>
    /// 用户仓储
    /// </summary>
    public class UserStore : UserStoreBase<User, long, UserClaim, long, UserLogin, long, UserToken, long, Role, long, UserRole, long, Organization, long, UserOrganization, long>
    {
        /// <summary>
        /// 初始化一个用户仓储 <see cref="UserStore"/> 的新实例
        /// </summary>
        /// <param name="userRepository">用户仓储</param>
        /// <param name="userLoginRepository">用户登录仓储</param>
        /// <param name="userClaimRepository">用户声明仓储</param>
        /// <param name="userTokenRepository">用户令牌仓储</param>
        /// <param name="roleRepository">角色仓储</param>
        /// <param name="userRoleRepository">用户角色仓储</param>
        /// <param name="orgRepository">组织机构仓储</param>
        /// <param name="userOrgRepository">用户组织机构仓储</param>
        /// <param name="eventBus">事件总线</param>
        public UserStore(IRepository<User, long> userRepository,
            IRepository<UserLogin, long> userLoginRepository,
            IRepository<UserClaim, long> userClaimRepository,
            IRepository<UserToken, long> userTokenRepository,
            IRepository<Role, long> roleRepository,
            IRepository<UserRole, long> userRoleRepository,
            IRepository<Organization, long> orgRepository,
            IRepository<UserOrganization, long> userOrgRepository,
            IEventBus eventBus)
            : base(userRepository, userLoginRepository, userClaimRepository, userTokenRepository, roleRepository, userRoleRepository, orgRepository, userOrgRepository, eventBus)
        { }

    }
}